package Miscelaneo.TiposGenericos.Demo;

import java.util.HashMap;
import java.util.Iterator;
import java.util.SortedMap;
import java.util.TreeMap;
/**
 *
 * @author Ronald
 */
public class Diccionario {
public static void main(String args[])
    {

	// Definir un TreeMap
        TreeMap global = new TreeMap();

	// Insertar valores "key"-"value" al HashMap
        global.put("Medico", "(+52)-4000-5000");
        global.put("Casita", "(888)-4500-3400");
        global.put("Hermano", "(575)-2042-3233");
        global.put("Hermana", "(421)-1010-0020");
        global.put("Amigos", "(334)-6105-4334");
        global.put("Oficina", "(304)-5205-8454");
        global.put("lucho P.", "(756)-1205-3454");
        global.put("Luis G.", "(55)-9555-3270");
        global.put("AaOficina 2", "(874)-2400-8600");

	// Definir Iterator para extraer/imprimir valores 


	for( Iterator it = global.keySet().iterator(); it.hasNext();) { 

	    // Nótese que el orden del TreeMap refleja un orden descendente 
	    // en sus elementos independientemente del orden de inserción.
	    // Debido al uso de String's esto refleja un orden alfabético
            String s = (String)it.next();
            String s1 = (String)global.get(s);
	    System.out.println(s + " : " + s1);
	}


	// Definir dos TreeMap's nuevos en base de determinadas restricciones
        SortedMap am = global.subMap("A", "M");
        SortedMap nz = global.tailMap("N");

        System.out.println("---- Agenda A-M ----");
	// Definir Iterator para extraer/imprimir valores 

	for( Iterator it2 = am.keySet().iterator(); it2.hasNext();) { 
            String s = (String)it2.next();
            String s1 = (String)am.get(s);
	    System.out.println(s + " : " + s1);
	}


        System.out.println("---- Agenda N-Z  ----");

	for( Iterator it3 = nz.keySet().iterator(); it3.hasNext();) { 
            String s = (String)it3.next();
            String s1 = (String)nz.get(s);
	    System.out.println(s + " : " + s1);
	}


    }    
}
